Open Type Synonym Family
TypeFamiliesでのSynonym Familyの定義方法の一つ
toplevelで宣言する
#WIP
型の型と実装を別の場所に書く
あとから、外部から追加できる
つまりopen
kindを推論できない
https://qiita.com/lotz/items/6c038698c8f04f57113a#open-type-families
code:hs
type family If (c :: Bool) t f
type instance If 'True t f = t
type instance If 'False t f = f
kind注釈は書いても書かなくても良い
code:hs
type family Add m n
code:hs
type family Add m n :: Nat -> Nat -> Nat